package com.zzl.bonds.ticket.entity.feign;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.zzl.apidoc.annotation.ApidocModel;
import com.zzl.apidoc.annotation.ApidocModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 电子合同
 *
 * @author gull
 * @date 2022-06-23 11:06:50
 */
@Data
@TableName("cp_c_contract")
@ApidocModel
@SuppressWarnings("javadoc")
public class ContractEntity implements Serializable {
    private static final long serialVersionUID = 1L;

    @TableId(type = IdType.UUID)
    @ApidocModelProperty(description = "合同id")
    private String id;
    @ApidocModelProperty(description = "合同名称")
    private String contractName;
    @ApidocModelProperty(description = "合同编号，调用接口后回填的字段")
    private String contractNo;
    @ApidocModelProperty(description = "模板id")
    private String templateId;
    @ApidocModelProperty(description = "模板ID")
    private String cfcaTemplateId;
    @ApidocModelProperty(description = "模板类型买卖合同	MM供用电、水、气、热力合同	GY赠与合同	ZY借款合同	JK租赁合同	ZL融资租赁合同	RZZL承揽合同	CL建设工程合同	JSGC运输合同	YS技术合同	JS保管合同	BG仓储合同	CC委托合同	WT行纪合同	XJ居间合同	JJ劳动合同	LD其他合同	QT")
    private String contractType;
    @ApidocModelProperty(description = "签署类型:客户平台自身是否要签署该协议。0：抄送；1：签署；2：暂不签署；默认为0")
    private Integer isSign;
    @ApidocModelProperty(description = "印章id")
    private String sealId;
    @ApidocModelProperty(description = "签章颜色，1：红色；2：蓝色；3：黑色；默认为1（默认签章有效，客户自定义签章无效）")
    private Integer sealColor;
    @ApidocModelProperty(description = "安心签存储的印章id")
    private String cfcaSealId;
    @ApidocModelProperty(description = "签名域的标签值,客户平台默认签署域为：Signature_plat")
    private String signLocation;
    @ApidocModelProperty(description = "文本域信息：Map<String, String>，key为合同模板文本域的标签值，value为往文本域填入的值")
    private String textvalueinfo;
    @ApidocModelProperty(description = "是否保存文本域信息,0：不保存；1：保存；默认为0")
    private Integer isSaveTextValue;
    @ApidocModelProperty(description = "是否填写合同编号，0：不填写；1：填写；默认为0如果需要把合同编号填写到合同模板里面，需要保证合同模板里面有一个文本域，key值为：contractNo")
    private Integer isFillinContractNo;
    @ApidocModelProperty(description = "是否填充字体，0：不填写；1：填写；默认为0为了应对部分系统因为默认字库支持的字体不全，PDF阅读器看不到部分文字的场景（如：IOS系统看不到文本域中的生僻字），系统会把文本域里面的字体填充为新宋体")
    private Integer isFillinFont;
    @ApidocModelProperty(description = "合同过期时间，默认30天，1年封顶，过期后不能进行签署。格式：yyyyMMdd")
    private String expiredDate;
    @ApidocModelProperty(description = "短信模板ID,合同完成提醒的短信模板ID")
    private String smsTemplateId;
    @ApidocModelProperty(description = "邮件模板ID，合同完成提醒的邮箱模板ID")
    private String emailTemplateId;
    @ApidocModelProperty(description = "合同状态：未完成	0已完成	1已拒绝	2正在签署	3锁定待签	4（用户用本地证书签署时使用，本项目用不到）已过期	9")
    private Integer contractStatus;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApidocModelProperty(description = "完成时间", validate = "yyyy-MM-dd HH:mm:ss")
    private Date finishTime;
    @ApidocModelProperty(description = "创建方式，1 合同模板创建 2 上传合同创建")
    private Integer createMode;
    @ApidocModelProperty(description = "是否删除：1 表示删除，0 表示未删除")
    @TableField(value = "is_deleted")
    @TableLogic(value = "0", delval = "1")
    private Integer deletedStatus;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApidocModelProperty(description = "创建时间", validate = "yyyy-MM-dd HH:mm:ss")
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApidocModelProperty(description = "修改时间", validate = "yyyy-MM-dd HH:mm:ss")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;
    @ApidocModelProperty(description = "部门id")
    private Integer orgId;
    @ApidocModelProperty(description = "创建人")
    private Integer creatorId;
    @ApidocModelProperty(description = "修改人")
    private Integer updaterId;
    @ApidocModelProperty(description = "备注")
    private String remark;
    @ApidocModelProperty(description = "合同摘要")
    private String contractSummary;
}
